home *** CD-ROM | disk | FTP | other *** search
/ OpenGL Superbible (2nd Edition) / OpenGL SuperBible e2.iso / tools / GLUT-3.7 / LIB / FGLUT / Makefile.sgi < prev    next >
Encoding:
Makefile  |  1998-08-12  |  4.2 KB  |  190 lines

  1. #! smake
  2. #
  3. # Copyright (c) Mark J. Kilgard, 1995, 1996.
  4. #
  5. include $(ROOT)/usr/include/make/commondefs
  6.  
  7. TOP = ../..
  8.  
  9. TARGETS = libfglut.a
  10.  
  11. LN = ln -s
  12. MV = mv
  13. RM = -rm -rf
  14.  
  15. # .fc must be added to your SUFFIXES between .c and .o
  16. .SUFFIXES:
  17. .SUFFIXES: .o .fc .c .s .f
  18.  
  19. # F2CFLAGS is fancy macro to get the right ABI option for mkf2c
  20. F2CFLAGS=-l `echo $(CSTYLE) | fmt -1 | grep -v mips | sed s/-o32//g`
  21. LCOPTS = -fullwarn
  22. LWOFF = ,813,852,827,826
  23. LCINCS = -I$(TOP)/include -I$(TOP)/lib/glut
  24. LF77INCS = -I$(TOP)/include
  25.  
  26. REFSRCS = \
  27.   glut_bwidth.c \
  28.   glut_cindex.c \
  29.   glut_cursor.c \
  30.   glut_dstr.c \
  31.   glut_event.c \
  32.   glut_ext.c \
  33.   glut_fullscrn.c \
  34.   glut_get.c \
  35.   glut_init.c \
  36.   glut_input.c \
  37.   glut_joy.c \
  38.   glut_key.c \
  39.   glut_keyctrl.c \
  40.   glut_keyup.c \
  41.   glut_menu.c \
  42.   glut_menu2.c \
  43.   glut_modifier.c \
  44.   glut_overlay.c \
  45.   glut_shapes.c \
  46.   glut_swap.c \
  47.   glut_swidth.c \
  48.   glut_teapot.c \
  49.   glut_util.c \
  50.   glut_vidresize.c \
  51.   glut_warp.c \
  52.   glut_win.c \
  53.   glut_winmisc.c
  54.  
  55. ORIGSRCS = \
  56.   fglut.c \
  57.   fglut_8x13.c \
  58.   fglut_9x15.c \
  59.   fglut_hel10.c \
  60.   fglut_hel12.c \
  61.   fglut_hel18.c \
  62.   fglut_mroman.c \
  63.   fglut_roman.c \
  64.   fglut_tr10.c \
  65.   fglut_tr24.c
  66.  
  67. SRCS = \
  68.   $(REFSRCS) \
  69.   $(ORIGSRCS)
  70.  
  71. OBJS = $(SRCS:.c=.o)
  72.  
  73. FGLUT = libfglut.a
  74. GLUT = $(TOP)/lib/glut/libglut.a
  75. LLDLIBS = $(FGLUT) -lfGLU -lfGL $(GLUT) -lGLU -lGL -lXmu -lXi -lXext -lX11
  76. LDIRT = $(REFSRCS) *.fc *.s *.wo *~ *.bak
  77.  
  78. sinclude ObjectType.mk
  79.  
  80. default: $(TARGETS)
  81.  
  82. libfglut.a : $(OBJS)
  83.     $(RM) $@
  84.     $(AR) crl $@ $(OBJS)
  85.  
  86. $(REFSRCS) :
  87.     $(RM) $@
  88.     $(LN) $(TOP)/lib/glut/$@ $@
  89.  
  90. # note -- each .c file containing routines to be interfaced must have
  91. # a dependency such as the following
  92. glut_bitmap.o: glut_bitmap.fc
  93. glut_bwidth.o: glut_bwidth.fc
  94. glut_cindex.o: glut_cindex.fc
  95. glut_cursor.o: glut_cursor.fc
  96. glut_dstr.o: glut_dstr.fc
  97. glut_event.o: glut_event.fc
  98. glut_ext.o: glut_ext.fc
  99. glut_fullscrn.o: glut_fullscrn.fc
  100. glut_get.o: glut_get.fc
  101. glut_init.o: glut_init.fc
  102. glut_input.o: glut_input.fc
  103. glut_joy.o: glut_joy.fc
  104. glut_keyctrl.o: glut_keyctrl.fc
  105. glut_menu.o: glut_menu.fc
  106. glut_menu2.o: glut_menu2.fc
  107. glut_modifier.o: glut_modifier.fc
  108. glut_overlay.o: glut_overlay.fc
  109. glut_shapes.o: glut_shapes.fc
  110. glut_stroke.o: glut_stroke.fc
  111. glut_swap.o: glut_swap.fc
  112. glut_swidth.o: glut_swidth.fc
  113. glut_teapot.o: glut_teapot.fc
  114. glut_util.o: glut_util.fc
  115. glut_vidresize.o: glut_vidresize.fc
  116. glut_warp.o: glut_warp.fc
  117. glut_win.o: glut_win.fc
  118. glut_winmisc.o: glut_winmisc.fc
  119.  
  120. REMAPS = \
  121.     -Dvoid= \
  122.     -DAPIENTRY= \
  123.     '-DGLUTbitmapFont=char*' \
  124.     '-DGLUTstrokeFont=char*' \
  125.     '-DGLUTdisplayCB=int*' \
  126.     '-DGLUTreshapeCB=int*' \
  127.     '-DGLUTjoystickCB=int*' \
  128.     '-DGLUTkeyboardCB=int*' \
  129.     '-DGLUTmouseCB=int*' \
  130.     '-DGLUTmotionCB=int*' \
  131.     '-DGLUTpassiveCB=int*' \
  132.     '-DGLUTentryCB=int*' \
  133.     '-DGLUTvisibilityCB=int*' \
  134.     '-DGLUTidleCB=int*' \
  135.     '-DGLUTtimerCB=int*' \
  136.     '-DGLUTmenuStateCB=int*' \
  137.     '-DGLUTmenuStatusCB=int*' \
  138.     '-DGLUTselectCB=int*' \
  139.     '-DGLUTspecialCB=int*' \
  140.     '-DGLUTspaceMotionCB=int*' \
  141.     '-DGLUTspaceRotateCB=int*' \
  142.     '-DGLUTspaceButtonCB=int*' \
  143.     '-DGLUTdialsCB=int*' \
  144.     '-DGLUTbuttonBoxCB=int*' \
  145.     '-DGLUTtabletMotionCB=int*' \
  146.     '-DGLUTtabletButtonCB=int*' \
  147.     '-DGLUTdisplayFCB=int*' \
  148.     '-DGLUTreshapeFCB=int*' \
  149.     '-DGLUTjoystickFCB=int*' \
  150.     '-DGLUTkeyboardFCB=int*' \
  151.     '-DGLUTmouseFCB=int*' \
  152.     '-DGLUTmotionFCB=int*' \
  153.     '-DGLUTpassiveFCB=int*' \
  154.     '-DGLUTentryFCB=int*' \
  155.     '-DGLUTvisibilityFCB=int*' \
  156.     '-DGLUTidleFCB=int*' \
  157.     '-DGLUTtimerFCB=int*' \
  158.     '-DGLUTmenuStateFCB=int*' \
  159.     '-DGLUTselectFCB=int*' \
  160.     '-DGLUTspecialFCB=int*' \
  161.     '-DGLUTspaceMotionFCB=int*' \
  162.     '-DGLUTspaceRotateFCB=int*' \
  163.     '-DGLUTspaceButtonFCB=int*' \
  164.     '-DGLUTdialsFCB=int*' \
  165.     '-DGLUTbuttonBoxFCB=int*' \
  166.     '-DGLUTtabletMotionFCB=int*' \
  167.     '-DGLUTtabletButtonFCB=int*' \
  168.     '-DGLdouble=double' \
  169.     '-DGLfloat=float' \
  170.     '-DGLenum=int' \
  171.     '-DGLint=int'
  172.  
  173. fglut.o : fglut.c
  174.     $(CC) $(CFLAGS) -c $*.c
  175.     $(CC) -DWRAPPERS_ONLY $(CINCS) -E fglut.c | m4 $(REMAPS) | $(MKF2C) $(F2CFLAGS) > $*.s
  176.     $(AS) $(ASFLAGS) -o $*.wo $*.s
  177.     $(LD) $(CSTYLE) -r $*.o $*.wo -o $*.tmp
  178.     $(MV) $*.tmp $*.o
  179.     $(RM) $*.s $*.wo
  180.  
  181. .fc.o:
  182.     m4 $(REMAPS) $< | $(MKF2C) $(F2CFLAGS) > $*.s
  183.     $(AS) $(ASFLAGS) -o $*.o $*.s
  184.     $(RM) $*.s
  185.  
  186. .c.fc:
  187.     $(EXTCENTRY) $*.c $*.fc
  188.  
  189. include $(COMMONRULES)
  190.